#pragma once
#ifndef LEVEL_H
#define LEVEL_H

#include <vector>
using std::vector;
class CWave;
#include "Vector2D.h"

class CLevel
{
private:
	vector<CWave*> levelWave;
	int numberOfWave;

public:
	CLevel(void);
	~CLevel(void);

	int getNumberOfWave(void)const;

	void setNumberOfWave(int numberOfWave);

	void createWave(void);
	void initialiseWave(int indexWave, int numberOfEnemies, int typeOfEnemies, int timeToSpawn,
				int timeToLive, int timeBetweenEnemiesToSpawn);
	void createWayPoint(int indexWave, CVector2D);
	void deleteWayPoint(int indexWave, int index);
	
	int getNumberOfEnemies(int indexWave)const;
	int getEnemyType(int indexWave)const;
	CVector2D getWayPoint(int indexWave,int indexWayPoint)const;
	int getNumberOfWayPoint(int indexWave)const;

	void setNumberOfEnemies(int indexWave,int numberOfEnemies);
	void setEnemyType(int indexWave,int enemyType);
	void setWayPoint(int indexWave, int indexWayPoint, CVector2D v);
	void setNumberOfWayPoint(int indexWave,int numberOfWayPoint);
};
#endif